﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QLBan_sim.ManHinh
{
    public partial class MH_NhaMang : Form
    {
        public MH_NhaMang()
        {
            InitializeComponent();
        }

        #region " Khai báo biến"

        bool themmoi = false;
        BindingSource bsNcc;
        XuLy.clsXu_ly Ncc;

        #endregion
        



        #region " Các phương thức cần thiết"

        void DocNcc()
        {
            Ncc = new XuLy.clsXu_ly("Ncc");
            bsNcc = new BindingSource();
            bsNcc.DataSource = Ncc;
            dgvwNcc.AutoGenerateColumns = false;
            dgvwNcc.DataSource = bsNcc;
            bsNcc.PositionChanged += new EventHandler(bsNcc_PositionChanged);
        }

        void bsNcc_PositionChanged(object sender, EventArgs e)
        {
            //throw new Exception("The method or operation is not implemented.");
            if (themmoi) return;
            if(bsNcc.Count!=0)
                HienThiThongTinNcc();
        }

        void HienThiThongTinNcc()
        {
            DataRow dong = ((DataRowView)bsNcc.Current).Row;
            txtMaNcc.Text = dong["Mancc"].ToString();
            txtTenNcc.Text = dong["Tenncc"].ToString();
            txtDauSo.Text = dong["Dauso"].ToString();
        }

        void XuatThongTinMoi()
        {
            themmoi = true;
            txtMaNcc.Clear();
            txtTenNcc.Clear();
            txtDauSo.Clear();
            txtMaNcc.Focus();
        }

        void NhapThongTin()
        {
            DataRow dong = ((DataRowView)bsNcc.Current).Row;
            dong["Mancc"] = txtMaNcc.Text;
            dong["Tenncc"] = txtTenNcc.Text;
            dong["Dauso"] = txtDauSo.Text;
        }

        #endregion




        #region " Sự kiện "

        private void MH_NhaMang_Load(object sender, EventArgs e)
        {
            DocNcc();
            bsNcc_PositionChanged(sender, e);
        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            themmoi = true;
            XuatThongTinMoi();
        }
        private void button5_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void btnThem_Click_1(object sender, EventArgs e)
        {
            XuatThongTinMoi();
        }
        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (bsNcc.Count == 0)
            {
                MessageBox.Show("Không có dữ liệu để xóa !");
                return;
            }

            if (themmoi)
            {
                HienThiThongTinNcc();
                themmoi = false;
                return;
            }

            try
            {
                DataRow dong = ((DataRowView)bsNcc.Current).Row;
                string pmancc = dong["Mancc"].ToString();
                string lenh = "SELECT * FROM Sim WHERE MaNcc='" + pmancc + "'";
                DataTable bangtam = new XuLy.clsXu_ly("Sim", lenh);
                if (bangtam.Rows.Count > 0)
                {
                    MessageBox.Show("Tồn tại dữ liệu với Sim.Không thể xóa được !", "Thông báo");
                    return;
                }
                if (MessageBox.Show("Bạn có chắc chắn xóa?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
                {
                    bsNcc.RemoveAt(bsNcc.Position);
                    Ncc.Ghi();

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Thông báo");
            }
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtMaNcc.Text) || string.IsNullOrEmpty(txtTenNcc.Text) || string.IsNullOrEmpty(txtDauSo.Text))
            {
                MessageBox.Show("Chưa nhập đủ thông tin!", "Thông báo");
                return;
            }
            try
            {
                if (themmoi) bsNcc.AddNew();
                NhapThongTin();
                bsNcc.EndEdit();
                Ncc.Ghi();
                DocNcc();
                bsNcc_PositionChanged(sender, e);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Thông báo");
            }
            themmoi = false;
        }

        private void btnKhongLuu_Click(object sender, EventArgs e)
        {
            themmoi = false;
            Ncc.KhongGhi();
        }
        #endregion


       

       

    }
}